<?php

namespace Library;

require_once __DIR__ . '/../../vendor/lib/nusoap.php';

class Gamebank {

    public function checkout($telco, $code, $seri) {
        $gamebank_account = "ngocdu.longan";
//        return array(
//                'response' => 'success',
//                'value' => 10000,
//                'code' => "sdfg",
//                'message' => 'Nạp thẻ thành công'
//            );
        $client = new \nusoap_client("http://pay.gamebank.vn/service/cardServiceV2.php/?wsdl", true);

        $result = $client->call("creditCard", array(
            "seri" => $seri,
            "code" => $code,
            "cardtype" => $telco,
            "gamebank_account" => $gamebank_account
        ));
        
        if ($result[0] >= 10000) {
            return array(
                'response' => 'success',
                'value' => $result[0],
                'code' => $result[1],
                'message' => 'Nạp thẻ thành công'
            );
        } else {

            switch ($result[0]) {
                case -3:
                    return array(
                        'response' => 'fail',
                        'value' => $result[0],
                        'code' => $result[1],
                        'message' => 'Thẻ không sử dụng được'
                    );
                case -10:
                    return array(
                        'response' => 'fail',
                        'value' => $result[0],
                        'code' => $result[1],
                        'message' => 'Nhập sai định dạng thẻ'
                    );
                case -1001:
                    return array(
                        'response' => 'fail',
                        'value' => $result[0],
                        'code' => $result[1],
                        'message' => 'Nhập sai quá 3 lần'
                    );
                case -1002:
                    return array(
                        'response' => 'fail',
                        'value' => $result[0],
                        'code' => $result[1],
                        'message' => 'Lỗi hệ thống'
                    );
                case -1003:
                    return array(
                        'response' => 'fail',
                        'value' => $result[0],
                        'code' => $result[1],
                        'message' => 'IP không được phép truy cập vui lòng quay lại sau 5 phút'
                    );
                case -1004:
                    return array(
                        'response' => 'fail',
                        'value' => $result[0],
                        'code' => $result[1],
                        'message' => 'Tên đăng nhập Gamebank không đúng'
                    );
                case -1005:
                    return array(
                        'response' => 'fail',
                        'value' => $result[0],
                        'code' => $result[1],
                        'message' => 'Loại thẻ không đúng   '
                    );
                case -1006:
                    return array(
                        'response' => 'fail',
                        'value' => $result[0],
                        'code' => $result[1],
                        'message' => 'Hệ thống đang bảo trì'
                    );
                default:
                    return array(
                        'response' => 'fail',
                        'value' => '0',
                        'code' => '0',
                        'message' => 'Kết nối với Gamebank thất bại'
                    );
            }
        }
    }

}

?>